In an Ethernet network, the way to improve reliability is mainly by deploying some redundant links. Therefore, backup links can be used when the main link is failed. The ZTE Ethernet Switch Ring (ZESR) proposes a ring network protection method based on this application. Each ring has a link, which is called a ring protection link, and when the links protected by the rings are all in good condition, at least one of the two ports of the ring protection link is blocked so as to prevent protected data from passing through the link. For the protection of the multiple points failure on the loop (i.e., another single point failure occurs on the loop during the recovery of a single point failure), the rapid response capability of the loop is also essential to the ring network protection.
At present, in the ring network protection method, each node on the loop is given different roles respectively: a master node and transit nodes, and there is only one master node in a ring, the rest are all transit nodes. When all the links are in a good condition, the master node will block slave ports to prevent the protected data from forming a ring. When a failure occurs on the loop, the master node will open the blocked slave ports to back up the link. The states defined for the master node are: init, pre-up, up, and down, and the states defined for the slave node are: init, up and down, wherein init is the initial state which happens after the domain configuration; the master node and transit nodes are all in up state when there is no failure on the loop and are all in down state when there is a failure; and the pre-up state is the transitional state of the loop from down to up and is the special state of the master node.
FIG. 1 is a diagram of ESR protection according to the conventional art. As shown in FIG. 1, nodes S1, S2, S3 and S4 support the Ethernet network switching function and they establish an ESR protection domain, wherein node S1 is the master node, and nodes S2, S3 and S4 are transit nodes. The ESR protection domain includes a closed ring composed of nodes S1, S2, S3 and S4. When the links protected by the ring are all in good condition, the master node S1 blocks the slave port and each node shows the loop state of up.
FIG. 2 is a diagram showing the situation of the loop after the ESR protection has a link failure according to the conventional art. As shown in FIG. 2, when a loop is failed, for example the link between the nodes S3 and S4 in FIG. 1 is failed, the nodes S3 and S4 will block the ports of the failed link and simultaneously send out a loop failure protocol message. After receiving the loop failure message, the master node will switch the link, i.e., opening the slave ports, and sends a protocol message to notify each transit node of the state change of the loop. And the transit node will set the loop state to down and will refresh a Media Access Control (MAC) address table after receiving the notification from the master node. At the moment, each node shows the loop state of down. If the loop is recovered, in order to prevent a loop, the failed node will stop sending the link failure protocol message to wait for the notification from the master node rather than opening the recovered port at once. The master node will consider that the loop failure has been recovered when not receiving the loop failure message within a certain time, and at the moment, the master node will switch back the flow, i.e., making the protected traffic flow transmitted from the link where the master port is located, and blocks the slave ports. In order to prevent the master port from port oscillating and ensure the normal work of the master port, the protocol sets the pre-up state for the master node. The master node will enter the pre-up state when not receiving the loop failure protocol message within a certain time. FIG. 3 is a diagram showing the situation of the loop when the ESR protection failure is just recovered according to the conventional art. As shown in FIG. 3, a pre-up timer is started in the pre-up state, and after the timer is timed out, the master port is opened, the slave ports are blocked, the loop is recovered to the up state, and the master node notifies each transit node of the state change. Each transit node will switch the loop state from down to up after receiving the notification from the master node, and the failed nodes S3 and S4 further need to open the failed ports to ensure the normal flow.
If the loop is failed again in the pre-up state, in this case the transit node that detects the failure will send the loop failure protocol message to the master node. When the master node receives the loop failure protocol message, it will only process according to the loop failure and will send the protocol message to notify each node to enter the down state. In this case, the most efficient method for ensuring the smooth flow of the loop is to open the recovered failed ports at once. However, the master node cannot notify the recovered failed ports to open due to the received loop failure protocol message.
FIG. 4 is a diagram showing a second failure in the ESR according to the conventional art. As shown in FIG. 4, when failure occurs again between nodes S2 and S3, the ports of the nodes S3 and S4 cannot be opened at once. Even if the port of the node S3 can be opened, the port of the node S4 cannot be opened, and the MAC address cannot be refreshed. Therefore, the flow is still unsmooth, and thereby the ring network protection capability and user experience are affected.